package com.nowcoder;

import java.util.*;

/**
 * 给一个数组 a，长度为 n，若某个子序列中的和为 K 的倍数，那么这个序列被称为“K 序列”。
 * 现在要你 对数组 a 求出最长的子序列的长度，满足这个序列是 K 序列。
 */
public class SubArrayDivisibleByK {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int k = in.nextInt();
        List<Integer> nums = new ArrayList();
        int sum = 0;
        for (int i = 0; i < n; i++) {
            int r = in.nextInt() % k; // 余数定理 (a + b) % k = (a % k + b % k) % k
            nums.add(r);
            sum += r;
        }
        sum = sum % k;
        int len = n;
        nums.sort((a, b) -> b - a);
        for (int i : nums) {
            if (sum == 0) {
                break;
            }
            if (sum >= i) {
                sum -= i;
                len -= 1;
            }
        }
        System.out.println(len);
    }

}
